import 'package:brisk/theme/application_theme.dart';
import 'package:flutter/material.dart';

ApplicationTheme light = const ApplicationTheme(
  themeId: "Light",
  isLight: true,
  fontWeight: FontWeight.w500,
  textColor: Colors.black,
  textHintColor: const Color.fromRGBO(44, 44, 44, 1.0),
  subtleTextColor: const Color.fromRGBO(33, 33, 33, 1.0),
  contextMenuTheme: ContextMenuTheme(
    backgroundColor: const Color.fromRGBO(168, 168, 168, 1.0),
    itemDisabledTextColor: const Color.fromRGBO(222, 222, 222, 1.0),
    borderColor: Colors.transparent,
    itemTextColor: Colors.black,
  ),
  widgetTheme: WidgetTheme(
    iconColor: const Color.fromRGBO(89, 89, 89, 1.0),
    tooltipIconColor: Colors.black45,
    toolTipColor: ToolTipColor(
      backgroundColor: Color.fromRGBO(200, 200, 200, 1),
      textColor: Color.fromRGBO(33, 33, 33, 1),
    ),
    switchColor: SwitchColor(
      activeColor: Colors.green,
      focusColor: Colors.lightGreen,
      inactiveTrackColor: const Color.fromRGBO(136, 136, 136, 1.0),
    ),
    dropDownColor: DropDownColor(
      iconColor: Colors.black45,
      dropDownBackgroundColor: const Color.fromRGBO(249, 250, 251, 1),
      itemTextColor: Colors.black,
    ),
    textFieldColor: TextFieldColor(
      focusBorderColor: const Color.fromRGBO(53, 89, 143, 1),
      borderColor: const Color.fromRGBO(65, 65, 65, 1),
      fillColor: const Color.fromRGBO(249, 250, 251, 1),
      textColor: Colors.black,
      iconColor: const Color.fromRGBO(89, 89, 89, 1.0),
      cursorColor: Colors.black,
    ),
    showHideButtonColor: ButtonColor(
      iconColor: Colors.black,
      textColor: Colors.black,
      hoverTextColor: Colors.black,
      backgroundColor: const Color.fromRGBO(204, 204, 204, 1.0),
      hoverIconColor: Colors.white70,
      hoverBackgroundColor: const Color.fromRGBO(194, 194, 194, 1.0),
    ),
    iconButtonColor: ButtonColor(
      iconColor: Colors.black,
      hoverIconColor: Colors.black,
      hoverBackgroundColor: const Color.fromRGBO(196, 196, 196, 1.0),
      backgroundColor: const Color.fromRGBO(224, 224, 224, 1.0),
    ),
  ),
  downloadProgressDialogTheme: DownloadProgressDialogTheme(
    totalProgressColor: ProgressIndicatorColor(
      backgroundColor: const Color.fromRGBO(229, 229, 229, 1.0),
      color: Colors.green,
    ),
    connectionProgressColor: ProgressIndicatorColor(
      backgroundColor: const Color.fromRGBO(155, 155, 155, 1.0),
      color: Colors.indigoAccent,
    ),
    resumeColor: ButtonColor(
      iconColor: Colors.transparent,
      backgroundColor: const Color.fromRGBO(24, 150, 91, 1.0),
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: const Color.fromRGBO(3, 114, 59, 1.0),
      hoverTextColor: Colors.white,
      textColor: Colors.white,
      borderColor: const Color.fromRGBO(24, 150, 91, 1.0),
      borderHoverColor: Colors.green,
    ),
    pauseColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      textColor: Colors.white,
      hoverBackgroundColor: const Color.fromRGBO(244, 67, 54, 0.9),
      hoverTextColor: Colors.white,
      backgroundColor: const Color.fromRGBO(180, 39, 39, 1.0),
      borderColor: Colors.transparent,
    ),
  ),
  topMenuTheme: TopMenuTheme(
    backgroundColor: const Color.fromRGBO(229, 229, 229, 1.0),
    buttonTextColor: Colors.black,
    disabledHoverColor: const Color.fromRGBO(183, 183, 183, 1.0),
    addUrlColor: const ButtonColor(
      iconColor: Color.fromRGBO(14, 136, 38, 1.0),
      hoverIconColor: Color.fromRGBO(14, 136, 38, 1.0),
      hoverBackgroundColor: Color.fromRGBO(56, 209, 82, 0.2),
    ),
    downloadColor: const ButtonColor(
      iconColor: Color.fromRGBO(14, 136, 38, 1.0),
      hoverIconColor: Color.fromRGBO(14, 136, 38, 1.0),
      hoverBackgroundColor: Color.fromRGBO(56, 209, 82, 0.2),
    ),
    stopColor: const ButtonColor(
      iconColor: Color.fromRGBO(163, 23, 30, 1),
      hoverIconColor: Color.fromRGBO(163, 23, 30, 1),
      hoverBackgroundColor: Color.fromRGBO(163, 23, 30, 0.3),
    ),
    checkForUpdateColor: const ButtonColor(
      iconColor: Color.fromRGBO(0, 128, 128, 1),
      hoverIconColor: Color.fromRGBO(0, 128, 128, 1),
      hoverBackgroundColor: Color.fromRGBO(0, 128, 128, 0.3),
    ),
    stopAllColor: const ButtonColor(
      iconColor: Color.fromRGBO(163, 23, 30, 1),
      hoverIconColor: Color.fromRGBO(163, 23, 30, 1),
      hoverBackgroundColor: Color.fromRGBO(163, 23, 30, 0.3),
    ),
    removeColor: const ButtonColor(
      iconColor: Color.fromRGBO(163, 23, 30, 1),
      hoverIconColor: Color.fromRGBO(163, 23, 30, 1),
      hoverBackgroundColor: Color.fromRGBO(163, 23, 30, 0.3),
    ),
    addToQueueColor: const ButtonColor(
      iconColor: Color.fromRGBO(0, 128, 128, 1),
      hoverIconColor: Color.fromRGBO(0, 128, 128, 1),
      hoverBackgroundColor: Color.fromRGBO(0, 128, 128, 0.3),
    ),
    searchColor: const ButtonColor(
      iconColor: Color.fromRGBO(0, 128, 128, 1),
      hoverIconColor: Color.fromRGBO(0, 128, 128, 1),
      hoverBackgroundColor: Color.fromRGBO(0, 128, 128, 0.3),
    ),
    extensionColor: const ButtonColor(
      iconColor: Color.fromRGBO(0, 128, 128, 1),
      hoverIconColor: Color.fromRGBO(0, 128, 128, 1),
      hoverBackgroundColor: Color.fromRGBO(0, 128, 128, 0.3),
    ),
    createQueueColor: const ButtonColor(
      iconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverIconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverBackgroundColor: const Color.fromRGBO(56, 209, 82, 0.2),
    ),
    startQueueColor: const ButtonColor(
      iconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverIconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverBackgroundColor: const Color.fromRGBO(56, 209, 82, 0.2),
    ),
    stopQueueColor: const ButtonColor(
      iconColor: Color.fromRGBO(163, 23, 30, 1),
      hoverIconColor: Color.fromRGBO(163, 23, 30, 1),
      hoverBackgroundColor: Color.fromRGBO(163, 23, 30, 0.3),
    ),
    scheduleQueueColor: const ButtonColor(
      iconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverIconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverBackgroundColor: const Color.fromRGBO(56, 209, 82, 0.2),
    ),
  ),
  sideMenuTheme: SideMenuTheme(
    settingIconColor: Colors.black,
    backgroundColor: const Color.fromRGBO(240, 242, 245, 1),
    briskLogoColor: const Color.fromRGBO(53, 89, 143, 1),
    activeTabIconColor: Colors.white,
    activeTabBackgroundColor: const Color.fromRGBO(118, 171, 234, 1.0),
    tabHoverColor: const Color.fromRGBO(64, 65, 66, 0.3),
    tabIconColor: Colors.black,
    tabBackgroundColor: Colors.transparent,
    expansionTileExpandedColor: const Color.fromRGBO(177, 211, 252, 1.0),
    expansionTileItemActiveColor: const Color.fromRGBO(10, 126, 242, 0.8),
    expansionTileItemHoverColor: const Color.fromRGBO(64, 65, 66, 0.2),
  ),
  downloadGridTheme: DownloadGridTheme(
    backgroundColor: const Color.fromRGBO(255, 255, 255, 1),
    activeRowColor: const Color.fromRGBO(118, 171, 234, 0.2),
    checkedRowColor: const Color.fromRGBO(118, 171, 234, 0.5),
    borderColor: Colors.black26,
    rowColor: Colors.black26,
    rowTextColor: Colors.black,
    titleColumnTextColor: Colors.black,
  ),
  settingTheme: SettingTheme(
    pageTheme: SettingPageTheme(
      groupBackgroundColor: const Color.fromRGBO(240, 242, 245, 1),
      groupTitleTextColor: Colors.black,
      titleTextColor: Colors.black,
    ),
    sideMenuTheme: SettingSideMenuTheme(
      backgroundColor: const Color.fromRGBO(240, 242, 245, 1),
      activeTabBackgroundColor: const Color.fromRGBO(118, 171, 234, 1.0),
      activeTabIconColor: Colors.black,
      tabTextColor: Colors.black,
      inactiveTabIconColor: Colors.black,
      tabHoverBackgroundColor: const Color.fromRGBO(203, 203, 203, 1.0),
    ),
    saveButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: const Color.fromRGBO(3, 114, 59, 1.0),
      hoverTextColor: Colors.white,
      backgroundColor: const Color.fromRGBO(3, 114, 59, 1.0),
      textColor: Colors.white,
      borderColor: Colors.transparent,
      borderHoverColor: Colors.transparent,
    ),
    resetDefaultsButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: const Color.fromRGBO(65, 65, 65, 1.0),
      hoverTextColor: Colors.white,
      borderColor: Colors.transparent,
      textColor: Colors.black,
      borderHoverColor: const Color.fromRGBO(53, 89, 143, 1),
    ),
  ),
  queuePageTheme: QueuePageTheme(
    backgroundColor: const Color.fromRGBO(30, 30, 30, 1),
    queueItemTitleTextColor: Colors.black,
    queueItemTitleDetailsTextColor: Colors.grey,
    queueItemHoverColor: Colors.white12,
  ),
  alertDialogTheme: AlertDialogTheme(
    cancelColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      textColor: Colors.white70,
      hoverBackgroundColor: const Color.fromRGBO(244, 67, 54, 1),
      hoverTextColor: Colors.white,
      backgroundColor: const Color.fromRGBO(45, 45, 45, 0.5),
      borderColor: Colors.transparent,
      borderHoverColor: Colors.red,
    ),
    secondaryMiscButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: const Color.fromRGBO(89, 89, 89, 0.5),
      hoverTextColor: const Color.fromRGBO(53, 89, 143, 1),
      textColor: Colors.white,
      borderColor: Colors.transparent,
      backgroundColor: const Color.fromRGBO(45, 45, 45, 0.5),
    ),
    primaryMiscButtonColor: ButtonColor(
      iconColor: Colors.black,
      hoverIconColor: Colors.white,
      hoverTextColor: Colors.white,
      hoverBackgroundColor: const Color.fromRGBO(70, 106, 159, 1.0),
      textColor: Colors.white,
      backgroundColor: const Color.fromRGBO(53, 89, 143, 1),
    ),
    backgroundColor: const Color.fromRGBO(255, 255, 255, 1),
    innerContainerBorderColor: Colors.white30,
    iconColor: Colors.white,
    checkBoxColor: CheckBoxColor(
      borderColor: Colors.grey,
      activeColor: const Color.fromRGBO(53, 89, 143, 1),
    ),
    acceptButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      backgroundColor: const Color.fromRGBO(24, 150, 91, 1.0),
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: const Color.fromRGBO(3, 114, 59, 1.0),
      hoverTextColor: Colors.white,
      textColor: Colors.white,
      borderColor: const Color.fromRGBO(24, 150, 91, 1.0),
      borderHoverColor: Colors.green,
    ),
    declineButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      textColor: Colors.white70,
      hoverBackgroundColor: const Color.fromRGBO(244, 67, 54, 1),
      hoverTextColor: Colors.white,
      backgroundColor: const Color.fromRGBO(45, 45, 45, 0.5),
      borderColor: Colors.transparent,
      borderHoverColor: Colors.red,
    ),
    deleteConfirmColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverTextColor: Colors.white,
      hoverBackgroundColor: const Color.fromRGBO(241, 3, 3, 1.0),
      backgroundColor: const Color.fromRGBO(220, 38, 38, 1),
      textColor: Colors.white,
    ),
    deleteCancelColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: const Color.fromRGBO(61, 61, 61, 1.0),
      backgroundColor: const Color.fromRGBO(37, 37, 37, 1.0),
      textColor: Colors.white70,
    ),
    surfaceColor: const Color.fromRGBO(229, 229, 229, 1.0),
  ),
);
